import request from "@/utils/request";
import { AxiosPromise } from "axios";
import { LoginLogPageVO, LoginLogQuery } from "./types";

/**
 * 获取登录日志。
 *
 * @param queryParams 查询参数
 */
export function getLoginLogPage(
  queryParams: LoginLogQuery
): AxiosPromise<PageResult<LoginLogPageVO[]>> {
  return request({
    url: `/api/v1/system/loginLog/page`,
    params: queryParams,
    method: "get",
  });
}

/**
 * 移除指定唯一性 ID 的登录日志。
 *
 * @param id 唯一性 ID
 */
export function removeLoginLogs(ids: string) {
  return request({
    url: `/api/v1/system/loginLog/delete/${ids}`,
    method: "delete",
  });
}

/**
 * 移除全部登录日志。
 */
export function removeAllLoginLogs() {
  return request({
    url: `/api/v1/system/loginLog/deleteAll`,
    method: "delete",
  });
}

/**
 * 导出登录日志。
 */
export function exportLoginLog() {
  return request({
    url: `/api/v1/system/loginLog/export`,
    method: "get",
    responseType: "arraybuffer",
  });
}
